package com.example.fence.util;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.*;

@Component
@Data
@Slf4j
public class FenceStoreUtil {
    public static Map<String, List<String>> imeiToPointList=new HashMap<>();  // imei-PointList表

    public static Map<String, Boolean> imeiLock=new HashMap<>();  // imeiLock表

    public static Map<String, Integer> outFenceCounts=new HashMap<>();  // imei-发送邮箱表

    //public static Map<String, Boolean> deleteFence=new HashMap<>();  // imei-发送邮箱表
    public static Map<List<String>, List<String>> fenceDeviceList=new HashMap<>();  // pointList-deviceList表

    /**
     * 报警相关表
     */

    public static Map<String,Set<Integer>> deviceAlarmMode=new HashMap<>();  // imei-报警类型表=====跟DeviceOption功能重复，怕影响你的代码就新写了一个，只在AlarmServiceImpl中出现，看情况修改(okk)

    public static Map<String, String> deviceSendEmail=new HashMap<>();  // imei-发送邮箱表

    public static Map<String, Set<String>> deviceReceiveEmail=new HashMap<>();  // imei-接收邮箱表

    public static Map<String,Integer> sendInterval=new HashMap<>();  // imei-发送邮件间隔表（mins）
    public static Map<String, LocalDateTime> lastSendTime=new HashMap<>();  // imei-上一次发送邮件时间表（mins）



    // 未使用，检查两个pointList是否相同，即是否为同一个区域(待修改，此处check后会影响原List)
    private static boolean checkPointListDiff(List<String> list1,List<String> list2){
        list1.sort(Comparator.comparing(String::hashCode));
        list2.sort(Comparator.comparing(String::hashCode));
        return list1.toString().equals(list2.toString());
    }






}
